//#include <stdio.h>
//#include<iostream>
//using namespace std;
//class Solution {
//public:
//    int lastRemaining(const int n, int m)
//    {
//        int arr[5];
//        memset(arr, 1, 20);
//        int num = n, i = 1;
//        while (num != 1)
//        {
//            if (i% m == 0 && arr[(i - 1) % n] != 0)
//            {
//                num--;
//                arr[(i - 1)%n] = 0;
//                i++;
//            }
//            //else if(i % m == 0 && arr[(i - 1) % n] == 0)
//            //{
//            //    i++;
//            //    continue;
//            //}
//            else
//            {
//                i++;
//            }
//        }
//        for (int x = 0; x < n; x++)
//        {
//            if (arr[x] == 1)
//                return x;
//        }
//        return 0;
//    }
//};
//
//
//int main()
//{
//    Solution mysolution;
//    int i=mysolution.lastRemaining(5, 3);
//    cout << i;
//    return 0;
//}



#include <stdio.h>
#include<iostream>
using namespace std;
class solution {
public:
    int lastremaining(const int n, int m)
    {
        int arr[70866];
        memset(arr, 0, sizeof(arr));
        int num = n, mm = m,i=0;
        mm %= n;
        while (num != 1)
        {
            int x = 1;
            while (x <= mm)
            {
                if (x == mm && arr[i%n] != 1)
                {
                    arr[i%n] = 1;
                    i++;
                    num--;
                    break;
                }
                else if(arr[i%n]==1)
                {
                    i++;
                }
                else
                {
                    x++;
                    i++;
                }
            }
        }
        for (int i = 0; i < n; i++)
        {
            if (arr[i] == 0)
            {
                return i;
            }
        }
        return 0;
        
    }
};


int main()
{
    solution mysolution;
    int i=mysolution.lastremaining(70866, 116922);
    cout << i;
    return 0;
}